蟻本 2-3 重複組み合わせ
code: python
n = int(input())
m = int(input())
a = list(map(int, input().split()))
M = int(input())
dp = [0 * (m + 1) for i in range(n + 1)]
for i in range(n + 1):
# i番目の品物から1つも選ばない方法は常に一通り
dpi0 = 1
for i in range(n):
for j in range(m + 1):
if (j - 1 - ai >= 0):
dpi + 1j = (dpi + 1j - 1 + dpij - dpi[j - 1 - ai] + M) % M
else:
dpi + 1j = (dpi + 1j - 1 + dpij) % M
print(dpnm)
テーマ
#dp